From 6c745e8aaa78ae00df0ef46267572ff3365732bb Mon Sep 17 00:00:00 2001 From: robertl Date: Thu, 4 Aug 2005 20:06:05 +0000 Subject: [PATCH] Makefile: bump version for Clyde. Cetus: Fix from Olaf. GDB: Read/write URL. reference/gdb-*: Stopgap from Olaf. --- gpsbabel/Makefile | 4 +- gpsbabel/cetus.c | 8 ++- gpsbabel/gdb.c | 23 ++++--- gpsbabel/reference/gdb-sample.gpx | 110 ++++++++++++++++-------------- 4 files changed, 77 insertions(+), 68 deletions(-) diff --git a/gpsbabel/Makefile b/gpsbabel/Makefile index e90ff255b..1b1738eca 100644 --- a/gpsbabel/Makefile +++ b/gpsbabel/Makefile @@ -1,5 +1,5 @@ -VERSIONU=1_2_6 -VERSIOND=1.2.6 +VERSIONU=1_2_7-beta08042005 +VERSIOND=1.2.7-beta08042005 # If you do not have libexpat and you have no use for reading any input # type that is XML-ish (i.e. gpx or geocaching.com's/loc) you can uncomment diff --git a/gpsbabel/cetus.c b/gpsbabel/cetus.c index 93b1bdfed..ba44ed1f8 100644 --- a/gpsbabel/cetus.c +++ b/gpsbabel/cetus.c @@ -203,7 +203,8 @@ read_tracks(const struct pdb *pdb) { struct pdb_record *pdb_rec; int reclen, records, total, points, dropped; - char descr[DESCSZ]; + char descr[(2 * TRACK_POINT_SIZE) + 1]; + char temp_descr[TRACK_POINT_SIZE + 1]; cetus_track_head_t *head; waypoint *wpt, *prev; route_head *track; @@ -250,11 +251,12 @@ read_tracks(const struct pdb *pdb) break; case 1: /* first part of description */ - strncpy(descr, c, 25); + strncpy(descr, c, TRACK_POINT_SIZE); break; case 2: /* continued description */ - strncat(descr, c, sizeof(descr) - strlen(descr) - 1); + strncpy(temp_descr, c, TRACK_POINT_SIZE); + strcat(descr, temp_descr); /* here is no need to check target size */ if (strlen(descr) > 0) track->rte_desc = xstrdup(descr); break; diff --git a/gpsbabel/gdb.c b/gpsbabel/gdb.c index dc4d067d5..d17c7a5d4 100644 --- a/gpsbabel/gdb.c +++ b/gpsbabel/gdb.c @@ -53,8 +53,8 @@ #define GDB_HIDDENROUTEWPTCLASS 8 #define GDB_NAME_BUFFERLEN 1024 -#define GDB_NOTES_BUFFERLEN 4096 -#define GDB_DESCR_BUFFERLEN 4096 +#define GDB_URL_BUFFERLEN 4096 /* Safety first */ +#define GDB_NOTES_BUFFERLEN 4096 /* (likewise) */ #define DEFAULTICONVALUE 18 #define DEFAULTICONDESCR "Waypoint" @@ -490,8 +490,8 @@ static waypoint * gdb_read_wpt(const size_t fileofs, int *wptclass) { char xname[GDB_NAME_BUFFERLEN]; - char xdesc[GDB_DESCR_BUFFERLEN]; char xnotes[GDB_NOTES_BUFFERLEN]; + char xurl[GDB_URL_BUFFERLEN]; int xclass; int xlat, xlon, xdisplay, xcolour, xicon, xtime; short xcat; @@ -546,8 +546,8 @@ gdb_read_wpt(const size_t fileofs, int *wptclass) if (gdb_fread_flag(1)) /* altitude flag */ gdb_fread_le(&xalt, sizeof(xalt), 64, prefix, "altitude"); - gdb_fread_str(xdesc, sizeof(xdesc)); /* description */ - gdb_convert_name_buff(xdesc, sizeof(xdesc)); + gdb_fread_str(xnotes, sizeof(xnotes)); /* notes */ + gdb_convert_name_buff(xnotes, sizeof(xnotes)); if (gdb_fread_flag(1)) /* proximity flag */ gdb_fread_le(&xproximity, sizeof(xproximity), 64, prefix, "proximity"); @@ -573,8 +573,8 @@ gdb_read_wpt(const size_t fileofs, int *wptclass) else gdb_fread(buff, 3); - gdb_fread_str(xnotes, sizeof(xnotes)); - gdb_convert_name_buff(xnotes, sizeof(xnotes)); + gdb_fread_str(xurl, sizeof(xurl)); + gdb_convert_name_buff(xurl, sizeof(xurl)); xcat = gdb_fread_le(&xcat, sizeof(xcat), 16, prefix, "category"); @@ -608,8 +608,8 @@ gdb_read_wpt(const size_t fileofs, int *wptclass) res = waypt_new(); res->shortname = xstrdup(xname); - res->description = xstrdup(xdesc); - res->notes = xstrdup(xnotes); + if (xurl[0] != '\0') res->url = xstrdup(xurl); + if (xnotes[0] != '\0') res->notes = xstrdup(xnotes); res->latitude = GPS_Math_Semi_To_Deg(xlat); res->longitude = GPS_Math_Semi_To_Deg(xlon); res->altitude = xalt; @@ -1188,7 +1188,8 @@ gdb_write_waypt(const waypoint *wpt, const int hidden) gdb_fwrite_int(GPS_Math_Deg_To_Semi(wpt->longitude)); gdb_fwrite_alt(wpt->altitude, unknown_alt); /* altitude */ - gdb_fwrite_str(wpt->description, -1); /* description */ + + gdb_fwrite_str((wpt->notes != NULL) ? wpt->notes : wpt->description, -1); /* notes/comment/descr */ gdb_fwrite_alt(wpt->proximity, unknown_alt); /* proximity */ #if 0 @@ -1208,7 +1209,7 @@ gdb_write_waypt(const waypoint *wpt, const int hidden) gdb_fwrite(zbuf, 3); /* three unknown bytes */ gdb_fwrite(zbuf, 4); /* four unknown bytes */ - gdb_fwrite_str(wpt->notes, -1); /* notes */ + gdb_fwrite_str(wpt->url, -1); /* URL */ #if 0 if (gdb_opt_category != NULL) /* category */ diff --git a/gpsbabel/reference/gdb-sample.gpx b/gpsbabel/reference/gdb-sample.gpx index b848b7742..c55109130 100644 --- a/gpsbabel/reference/gdb-sample.gpx +++ b/gpsbabel/reference/gdb-sample.gpx @@ -17,7 +17,8 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Altenburg-Umgehung abgu (cmt) - abgu (notes) + abgu (cmt) + abgu (notes) Golf Course @@ -59,14 +60,16 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ NARVA Plauen (cmt) - Wir bei NARVA (notes) + Plauen (cmt) + Wir bei NARVA (notes) Residence Völkerschlachtdenkmal P+R Am Völkerschlachtdenkmal - http://Voelkerschlachtdenkmal + P+R Am Völkerschlachtdenkmal + http://Voelkerschlachtdenkmal Waypoint @@ -75,13 +78,14 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ NARVA Plauen (cmt) - Wir bei NARVA (notes) + Plauen (cmt) + Wir bei NARVA (notes) Residence 416 - Fahren Sie auf die Luis-Ferdinand-Schönherr-Strasse nach Norden + Fahren Sie auf die Luis-Ferdinand-Schönherr-Strasse nach Norden Waypoint @@ -92,7 +96,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 418 - Biegen Sie rechts ab auf die Liebknechtstrasse + Biegen Sie rechts ab auf die Liebknechtstrasse Waypoint @@ -110,13 +114,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 420 - Fahren Sie auf die Liebknechtstrasse nach Südosten + Fahren Sie auf die Liebknechtstrasse nach Südosten Waypoint 421 - Biegen Sie links ab auf die Jahnstrasse + Biegen Sie links ab auf die Jahnstrasse Waypoint @@ -134,31 +138,31 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 423 - Fahren Sie auf die Jahnstrasse nach Norden + Fahren Sie auf die Jahnstrasse nach Norden Waypoint 424 - Biegen Sie links ab auf die Neundorfer Strasse + Biegen Sie links ab auf die Neundorfer Strasse Waypoint 425 - Biegen Sie rechts ab auf die Scharnhorststrasse + Biegen Sie rechts ab auf die Scharnhorststrasse Waypoint 426 - Biegen Sie rechts ab auf die Schminckestrasse + Biegen Sie rechts ab auf die Schminckestrasse Waypoint 427 - Biegen Sie links ab auf die Kopernikusstrasse + Biegen Sie links ab auf die Kopernikusstrasse Waypoint @@ -184,7 +188,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 432 - Ordnen Sie sich rechts ein in Richtung Talstrasse + Ordnen Sie sich rechts ein in Richtung Talstrasse Waypoint @@ -195,7 +199,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 434 - Biegen Sie rechts ab auf die Zwoschwitzer Strasse + Biegen Sie rechts ab auf die Zwoschwitzer Strasse Waypoint @@ -246,7 +250,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 444 - Biegen Sie links ab auf die An Der Schöpsdrehe + Biegen Sie links ab auf die An Der Schöpsdrehe Waypoint @@ -262,7 +266,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 447 - Biegen Sie rechts ab auf die Elsterberger Strasse + Biegen Sie rechts ab auf die Elsterberger Strasse Waypoint @@ -298,13 +302,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 454 - Biegen Sie rechts ab auf die Robert-Schenker-Strasse + Biegen Sie rechts ab auf die Robert-Schenker-Strasse Waypoint 455 - Biegen Sie links ab auf die Rosa-Luxemburg-Strasse + Biegen Sie links ab auf die Rosa-Luxemburg-Strasse Waypoint @@ -332,13 +336,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 459 - Fahren Sie auf die Piehlerstrasse nach Nordwesten + Fahren Sie auf die Piehlerstrasse nach Nordwesten Waypoint 460 - Biegen Sie rechts ab auf die Greizer Strasse + Biegen Sie rechts ab auf die Greizer Strasse Waypoint @@ -389,19 +393,19 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 470 - Halten Sie sich rechts in Richtung Carolinenstrasse + Halten Sie sich rechts in Richtung Carolinenstrasse Waypoint 471 - Biegen Sie rechts ab auf die Gartenweg + Biegen Sie rechts ab auf die Gartenweg Waypoint 472 - Biegen Sie links ab auf die B94 + Biegen Sie links ab auf die B94 Waypoint @@ -439,7 +443,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 478 - Fahren Sie auf die August-Bebel-Strasse nach Südosten + Fahren Sie auf die August-Bebel-Strasse nach Südosten Waypoint @@ -455,7 +459,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 481 - Biegen Sie links ab auf die Werdauer Strasse + Biegen Sie links ab auf die Werdauer Strasse Waypoint @@ -471,7 +475,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 484 - Halten Sie sich rechts in Richtung Werdauer Strasse + Halten Sie sich rechts in Richtung Werdauer Strasse Waypoint @@ -567,13 +571,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 503 - Halten Sie sich links in Richtung Marienstrasse + Halten Sie sich links in Richtung Marienstrasse Waypoint 504 - Biegen Sie links ab auf die Uferstrasse + Biegen Sie links ab auf die Uferstrasse Waypoint @@ -589,13 +593,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 507 - Biegen Sie links ab auf die Querstrasse + Biegen Sie links ab auf die Querstrasse Waypoint 508 - Biegen Sie rechts ab auf die Carthäuserstrasse + Biegen Sie rechts ab auf die Carthäuserstrasse Waypoint @@ -621,7 +625,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 513 - Halten Sie sich links in Richtung S54 + Halten Sie sich links in Richtung S54 Waypoint @@ -642,13 +646,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 517 - Biegen Sie rechts ab auf die Leipziger Strasse + Biegen Sie rechts ab auf die Leipziger Strasse Waypoint 518 - Biegen Sie rechts ab auf die Leipziger Strasse + Biegen Sie rechts ab auf die Leipziger Strasse Waypoint @@ -659,7 +663,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 520 - Biegen Sie links ab auf die Ponitzer Strasse + Biegen Sie links ab auf die Ponitzer Strasse Waypoint @@ -687,7 +691,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 524 - Fahren Sie auf die Gosel nach Nordosten + Fahren Sie auf die Gosel nach Nordosten Waypoint @@ -708,7 +712,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 528 - Biegen Sie rechts ab auf die Gössnitzer Strasse + Biegen Sie rechts ab auf die Gössnitzer Strasse Waypoint @@ -724,7 +728,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 531 - Biegen Sie links ab auf die Altenburger Strasse + Biegen Sie links ab auf die Altenburger Strasse Waypoint @@ -746,7 +750,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 534 - Fahren Sie auf die Altenburger Strasse nach Norden + Fahren Sie auf die Altenburger Strasse nach Norden Waypoint @@ -822,13 +826,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 549 - Biegen Sie links ab auf die Hauptstrasse + Biegen Sie links ab auf die Hauptstrasse Waypoint 550 - Biegen Sie rechts ab auf die K61 + Biegen Sie rechts ab auf die K61 Waypoint @@ -854,13 +858,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 555 - Biegen Sie rechts ab auf die Schmöllner Strasse + Biegen Sie rechts ab auf die Schmöllner Strasse Waypoint 556 - Halten Sie sich rechts in Richtung Straße + Halten Sie sich rechts in Richtung Straße Waypoint @@ -872,13 +876,14 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Altenburg-Umgehung abgu (cmt) - abgu (notes) + abgu (cmt) + abgu (notes) Golf Course 558 - Fahren Sie auf die Straße nach Nordosten + Fahren Sie auf die Straße nach Nordosten Waypoint @@ -1029,7 +1034,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 588 - Biegen Sie links ab auf die Leipziger Strasse + Biegen Sie links ab auf die Leipziger Strasse Waypoint @@ -1070,7 +1075,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 596 - Fahren Sie rechts ab auf die Prinz-Eugen-Strasse + Fahren Sie rechts ab auf die Prinz-Eugen-Strasse Waypoint @@ -1086,19 +1091,19 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 599 - Biegen Sie rechts ab auf die Wolfgang-Heinze-Strasse + Biegen Sie rechts ab auf die Wolfgang-Heinze-Strasse Waypoint 600 - Biegen Sie rechts ab auf die Meusdorfer Strasse + Biegen Sie rechts ab auf die Meusdorfer Strasse Waypoint 601 - Biegen Sie rechts ab auf die Arno-Nitzsche-Strasse + Biegen Sie rechts ab auf die Arno-Nitzsche-Strasse Waypoint @@ -1114,7 +1119,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ 604 - Ordnen Sie sich rechts ein in Richtung Strasse Des 18. Oktober + Ordnen Sie sich rechts ein in Richtung Strasse Des 18. Oktober Waypoint @@ -1126,7 +1131,8 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Völkerschlachtdenkmal P+R Am Völkerschlachtdenkmal - http://Voelkerschlachtdenkmal + P+R Am Völkerschlachtdenkmal + http://Voelkerschlachtdenkmal Waypoint -- 2.30.2